package com.ruoyi.info.service;

import java.util.List;
import com.ruoyi.info.domain.SysInfoColumn;

/**
 * 资讯栏目Service接口
 * 
 * @author ruoyi
 * @date 2025-01-27
 */
public interface ISysInfoColumnService 
{
    /**
     * 查询资讯栏目
     * 
     * @param columnId 资讯栏目主键
     * @return 资讯栏目
     */
    public SysInfoColumn selectSysInfoColumnByColumnId(Long columnId);

    /**
     * 查询资讯栏目列表
     * 
     * @param sysInfoColumn 资讯栏目
     * @return 资讯栏目集合
     */
    public List<SysInfoColumn> selectSysInfoColumnList(SysInfoColumn sysInfoColumn);

    /**
     * 新增资讯栏目
     * 
     * @param sysInfoColumn 资讯栏目
     * @return 结果
     */
    public int insertSysInfoColumn(SysInfoColumn sysInfoColumn);

    /**
     * 修改资讯栏目
     * 
     * @param sysInfoColumn 资讯栏目
     * @return 结果
     */
    public int updateSysInfoColumn(SysInfoColumn sysInfoColumn);

    /**
     * 批量删除资讯栏目
     * 
     * @param columnIds 需要删除的资讯栏目主键集合
     * @return 结果
     */
    public int deleteSysInfoColumnByColumnIds(Long[] columnIds);

    /**
     * 删除资讯栏目信息
     * 
     * @param columnId 资讯栏目主键
     * @return 结果
     */
    public int deleteSysInfoColumnByColumnId(Long columnId);

    /**
     * 校验栏目编码是否唯一
     * 
     * @param sysInfoColumn 栏目信息
     * @return 结果
     */
    public String checkColumnCodeUnique(SysInfoColumn sysInfoColumn);

    /**
     * 构建前端所需要树结构
     * 
     * @param columns 栏目列表
     * @return 树结构列表
     */
    public List<SysInfoColumn> buildColumnTree(List<SysInfoColumn> columns);

    /**
     * 构建前端所需要下拉树结构
     * 
     * @param columns 栏目列表
     * @return 下拉树结构列表
     */
    public List<SysInfoColumn> buildColumnTreeSelect(List<SysInfoColumn> columns);
}
